A server rack is designed for a particular power consumption envelope that depends on factors such as, number of servers in the server rack, type of servers in the server rack (e.g., servers with low power CPU(s) or high power CPU(s)), cooling system of the room housing the server rack, power supply distribution network in the server rack for the servers, etc. Servers in a computer system, such as a server rack, execute a number of applications and may have a diverse workload. Diverse workload means that a server in a computer system may not consume the same amount of power as another server, at a given time, in the same rack because of different workloads that require different processor utilization. A fully utilized processor in a server means that no processing cycles of the processors are wasted.
However, servers may not be fully utilized because of the power limit placed on the servers by the total power capacity of the server rack. Such underutilized servers caused by power limiting in the server rack may exhibit performance loss. Performance loss is defined as processor utilization that would have occurred had the processor been allowed to process without any power consumption limit. The power limit placed on the servers may also result from an internal power limit set for the server by the server itself. For example, a power controller unit in the server may set the server power capacity to a conservative limit based on processor reliability and longevity benchmarks. If the processor (or the server housing the processor) tends to consume power above the conservative limit (generally monitored via thermal sensors in, on, or around the processor), then the processor throttles. Throttling means that the processor operating frequency and/or power supply level is reduced to lower the power consumed as well as the heat generated by the processor.
One way to increase the computational capabilities of the servers and to also reduce performance loss of the servers in the server rack is to provide better temperature cooling facilities to the server rack combined with raising the power limit set by the power controller unit of each server. However, such a method for reducing performance loss does not take into account the power consumption of individual servers based on their workload. Such a method also requires physical infrastructure changes such as better temperature cooling facilities and redesign of power distribution network in the servers within the server rack. Furthermore, heuristic approaches that determine power budgets for individual servers in a server rack use an ad-hoc power assignment methodology that do not take into account the foreseeable power demand of servers in view of their performance loss.